草庐IT

MySQL Workbench 符号引用

全部标签

c++ - 为什么不通过引用传递数组?

为什么x打印出1,2,3,4而不是4,3,2,1。当我打印input[0]时,它说4。数组不应该通过引用传递吗?所以我可以用x来指代最初是x的输入吗?顺便说一下,这是C++。这不是另一个问题的重复。如果我在revlisto中打印出数组,它会正确打印。问题在于在主函数中可调用的数组。usingnamespacestd;voidrev_listo(intinput[],intnum){intend_list[num];for(intx=0;x 最佳答案 在内部,当您执行voidrev_listo(intinput[],intnum)时,

c++ - 引用传递行为及其范围

在下面的代码中,变量a通过引用传递给构造函数,由参数x接收。然后x作为对属性的引用传递。然后用值3初始化该属性。程序在运行时输出值3。我的问题程序不应该崩溃或显示2因为在构造函数被调用之后x应该超出范围并被释放,它的地址应该被释放。并试图写入它应该会导致内存访问冲突。然而在这种情况下,x仍然在程序控制下,保存着'a'的地址这是有效的C++行为还是我遗漏了什么?#include#includeusingnamespacestd;classmyclass{public:int&attribute;myclass(int&x):attribute(x){}voidfunc(){attribu

c++ - 在 CodeBlocks 中查看语言 (C/C++) 引用/文档

我在StackOverflow上的第一个问题...有人知道通过CodeBlocks查看语言的引用/文档手册的方法吗?专门针对C/C++。例子:假设我想查找strncpy()的引用。在一个非常古老的Borland系统(我们在学校使用的系统)中,我会写下这个词并在其上单击鼠标中键,从而将其作为引用。如果能以某种方式浏览手册也很好。我是否完全忽略了这一点(也在谷歌搜索),或者它不见了?如果它丢失了,在不在线的情况下搜索C和/或引用手册的最快方法是什么?问候! 最佳答案 是的,这是可能的。不过,我不确定帮助文件本身。该过程似乎已记录在案he

c++ - stringstream 无符号转换损坏?

考虑这个程序:#include#include#include#includeintmain(){std::istringstreamstream("-1");unsignedshortn=0;stream>>n;assert(stream.fail()&&n==0);std::cout我在OSX10.5.6上的gcc(AppleInc.4.0.1版build5490)上试过这个,断言是正确的;它无法将-1转换为无符号短整型。然而,在VisualStudio2005(和2008)中,断言失败并且n的结果值与编译器生成的隐式转换所期望的相同-即“-1”是65535,“-2”是65534等

java - 您对C、C++和Java中的指针、引用和句柄有何深刻理解?

您对C、C++和Java中的指针、引用和句柄有何深刻理解?我们通常把指针、引用和句柄放在特定的语言层面上去思考,像我这样的新手很容易搞混。其实java中的那些概念,只是对指针的一种封装。所有的指针只是对主存地址的一种封装。所以所有这些,只是一个封装的诡计。以上都是我个人的一瞥。你的理解是什么?欢迎与我分享。 最佳答案 每种语言在这方面都有差异。在C中,只有指针是保存内存地址的变量。在C中,您可以使用指针算法在内存中移动,如果您有一个数组,您可以获得指向第一个元素的指针并通过递增指针来导航内存。Java引用类似于指针,因为它们引用内存

c++ - g++ 创建一个 const 的几个符号?

在我更改的一个头文件(C++)中#defineTIMEOUT10更多(?)C++方式:constintTIMEOUT=10;不过,似乎g++(v4.4.3)现在在二进制文件中多次包含此符号。$nm-Cbuild/ipd/ipd|head08050420TToUnixTime08050470TParseTime080504c0TParseISOTime080518e4rTIMEOUT080518ecrTIMEOUT080518f4rTIMEOUT080518fcrTIMEOUT080503e0THandleMessage怎么会? 最佳答案

c++ - <函数> 引用自;找不到符号

我有一段C++函数使用的C代码。在我的C++文件的顶部,我有一行:#include"prediction.h"在prediction.h我有这个:#ifndefprediction#defineprediction#include"structs.h"typedefstruct{doubleestimation;doublevariance;}response;responserunPrediction(intobs,location*positions,double*observations,inttargets,location*targetPositions);#endif我还有

C++ 将 float 转换为无符号字符?

我是C++的新手,并且做了一些谷歌搜索我认为sprintf可以完成这项工作,但是我在编译时遇到错误,我无法在unsigned之间进行转换char和一个char。我需要一个无符号字符,因为我要打印到一个图像文件(0-255RGB)。unsignedchar***pixels=newunsignedchar**[SIZE];vectorpixelColors;...sprintf(pixels[i][j][k],"%.4g",pixelColors.at(k));(pixelColors的大小为3,“k”指的是“for循环”变量) 最佳答案

c++ - 我经常在运算符重载定义中看到什么引用?

比如在OGRE3D引擎中,经常看到类似的东西class_nameclass_name::operator+(class_name&object)代替class_nameclass_name::operator+(class_nameobject)嗯,这并不是说我更喜欢第二种形式,而是在输入中使用引用有什么特殊原因吗?它是否有需要使用引用而不是按值复制的特殊情况?还是性能问题? 最佳答案 这是一个性能问题。通过引用传递通常比通过值传递更便宜(它基本上等同于通过指针传递)。在一个不相关的注释中,您可能希望operator+的参数是con

C++ 删除引用

我仍在学习C++,并且有一个可能很明显的问题,或者我只是不知道我想做什么。我有一些函数可以接受一个矩阵(我写的一个类,它有一个正确编写的析构函数)并从中创建一个新矩阵,返回对新矩阵的引用。我需要在这些矩阵上迭代可能数万次,因此我需要确保没有任何内存泄漏。所以,问题是,如何正确删除不再需要的矩阵以便为下一个矩阵腾出空间?这是我试图实现无泄漏的代码:DynamicMatrixx0=getX0(n);DynamicMatrixexactU=getExactU(n);DynamicMatrixb=getB(n)*w;DynamicMatrixx1=getX1(x0,b,w,n);while(!